﻿
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Tunynet.Common;
using Tunynet.Repositories;

namespace Tunynet.Common.Repositories
{
    /// <summary>
    /// 活动
    /// </summary>
    public interface IActivesMemberRepository : IRepository<ActivesMember>
    {
        /// <summary>
        /// 改变顺序
        /// </summary>
        /// <param name="id"></param>
        /// <param name="referenceId"></param>
        void ChangeDisplayOrder(long id, long referenceId);

        /// <summary>
        ///为后台管理获取活动
        /// </summary>
        /// <returns></returns>
        PagingDataSet<ActivesMember> GetForAdmin(string keyword = null, DateTime? startDate_Expired = null, DateTime? endDate_Expired = null, DateTime? startDate_Update = null, DateTime? endDate_Update = null, Announcement_Status? status = null, string displayArea = null, int pageIndex = 1, int pageSize = 20);


        /// <summary>
        /// 为前台显示列表
        /// </summary>
        /// <returns></returns>
        PagingDataSet<ActivesMember> Gets(int pageSize = 20, int pageIndex = 1);

        /// <summary>
        /// 根据展示区域获取活动
        /// </summary>
        /// <param name="displayArea"></param>
        /// <returns></returns>
        IEnumerable<ActivesMember> Gets(string displayArea);
    }
}
